package cn.wzg.netbase.utils;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class StreamUtil {
    /**
     * 从流获取字符串，常用的两种方法：
     * 第一种：先读取流中所有的字节，得到一个字节数组，然后使用String的构造函数得到字符串；
     * 第二种：先将字节流转换为字符流，再读取得到字符串
     */
    public static String stream2String(InputStream is) throws IOException {
        byte[] bytes=new byte[1024];
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        int len=0;
        while((len=is.read(bytes))>0){
            baos.write(bytes,0,len);
        }
        return baos.toString();
    }
    public static String stream2String2(InputStream is) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(is));
        String line;
        StringBuilder builder=new StringBuilder();
        while ((line=br.readLine())!=null){
            builder.append(line);
        }
        return builder.toString();
    }
}
